package Super_Test;

/**
 * 这是一个人
 * @author WangshMac
 */
public class Person
{
	/* 属性 */
	int i ; 
	
	public static void main(String[] args)
	{
		/* 调用方法 */
		/* 被static修饰的属性和方法在调用的时候,不需要new对象,直接使用类名.方法();类名.属性
		 * 如果静态的方法定义和调用在一个类里面,类名可以省略;
		 *  */
		/*Person.method_01(i);*/
		int i = 100 ; 
		method_01(i);
		System.out.println("==method_01==100==" + i);
		
		/* 创建一个 p */
		Person p = new Person();
		/* 属性赋值 */
		p.i = 300 ; 
		/* 调用此方法 */
		method_02(p);
		System.out.println("=p.i==400=>" + p.i);
		
		/* 调用此方法method_03 */
		Person p1 = new Person() ; 
		p1.i = 500 ; 
		method_03(p1);
		System.out.println("=p1.i==500=>" + p1.i);
	}
	
	/**
	 * 值传递
	 * @param i
	 */
	public static void method_01(int i)
	{
		i = 200 ; 
	}
	
	/**
	 * 引用传递
	 * @param p
	 */
	public static void method_02(Person p)
	{
		p.i = 400 ; 
	}
	
	/**
	 * 引用传递
	 * @param p
	 */
	public static void method_03(Person p)
	{
		/* 重新赋值 */
		p = new Person();
		p.i = 600 ; 
	}
}
